package com.yanqu.road.entity.activity.fivehero.cross;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.activity.fivehero.log.LogFiveHeroToken;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

public class CrossFiveHeroUserData extends DataObject {

    private int groupId;
    private int activityId;

    private long userId;

    private String unionUid = "";

    //获得的总声望
    private long integral;
    private long integralTime;

    //获得的积分，占领战令会一直加积分
    private int score;

    //占领时间，最近的占领战令时间
    private long tokenTime;

    private int campId;

    private int hp;

    private long hpTime;

    private long serverId;

    //这个字段没用，用来记录打洛阳是打谁
    private long updateTime;

    //事件处理
    private int eventId;
    //事件处理的城市
    private int eventCityId;
    //事件产生的时候的对应阵营，变化了就不让搞了
    private int eventCampId;
    //事件产生的时候的对应打哪个战令
    private int eventTokenId;

    private long updatePatronsTime;

    private Map<Integer, CrossFiveHeroPatrons> patronsMap = new ConcurrentHashMap<>();

    private Map<Integer, Long> redDotMap = new ConcurrentHashMap<>();

    //加能力的变成道具了我丢你
    private Map<Integer, Integer> addItemMap = new ConcurrentHashMap<>();
    //玩家每天的积分贡献了多少，不包括城池的 天，多少积分
    private Map<Integer, Long> tokeScoreMap = new ConcurrentHashMap<>();


    //下面不用保存
    //弹结结束的
    private boolean overFlag = false;
    private Map<Integer, LogFiveHeroToken> logTokenMap = new ConcurrentHashMap<>();

    //洛阳攻击次数
    private int luoYangAttTimes;

    //重置时间
    private long resertTime;

    //探索到的是哪只怪，不同只不能打
    private int banditNo;

    private String language;

    //藏品加成
    private long curioAddition;

    public int getGroupId() {
        return groupId;
    }

    public void setGroupId(int groupId) {
        this.groupId = groupId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public String getUnionUid() {
        return unionUid;
    }

    public void setUnionUid(String unionUid) {
        this.unionUid = unionUid;
    }

    public long getIntegral() {
        return integral;
    }

    public void setIntegral(long integral) {
        this.integral = integral;
    }

    public int getScore() {
        return score;
    }

    public void setScore(int score) {
        this.score = score;
    }

    public int getCampId() {
        return campId;
    }

    public void setCampId(int campId) {
        this.campId = campId;
    }

    public int getHp() {
        return hp;
    }

    public void setHp(int hp) {
        this.hp = hp;
    }

    public long getHpTime() {
        return hpTime;
    }

    public void setHpTime(long hpTime) {
        this.hpTime = hpTime;
    }

    public long getServerId() {
        return serverId;
    }

    public void setServerId(long serverId) {
        this.serverId = serverId;
    }

    public long getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(long updateTime) {
        this.updateTime = updateTime;
    }

    public Map<Integer, CrossFiveHeroPatrons> getPatronsMap() {
        return patronsMap;
    }

    public void setPatronsMap(Map<Integer, CrossFiveHeroPatrons> patronsMap) {
        this.patronsMap = patronsMap;
    }

    public int getEventId() {
        return eventId;
    }

    public void setEventId(int eventId) {
        this.eventId = eventId;
    }

    public int getEventCityId() {
        return eventCityId;
    }

    public void setEventCityId(int eventCityId) {
        this.eventCityId = eventCityId;
    }

    public int getEventCampId() {
        return eventCampId;
    }

    public void setEventCampId(int eventCampId) {
        this.eventCampId = eventCampId;
    }

    public long getUpdatePatronsTime() {
        return updatePatronsTime;
    }

    public void setUpdatePatronsTime(long updatePatronsTime) {
        this.updatePatronsTime = updatePatronsTime;
    }

    public int getEventTokenId() {
        return eventTokenId;
    }

    public void setEventTokenId(int eventTokenId) {
        this.eventTokenId = eventTokenId;
    }

    public long getTokenTime() {
        return tokenTime;
    }

    public void setTokenTime(long tokenTime) {
        this.tokenTime = tokenTime;
    }

    public long getIntegralTime() {
        return integralTime;
    }

    public void setIntegralTime(long integralTime) {
        this.integralTime = integralTime;
    }

    public void addLogToken(LogFiveHeroToken log){
        logTokenMap.put(log.getTokenId(),log);
    }

    public Map<Integer, LogFiveHeroToken> getLogTokenMap() {
        return logTokenMap;
    }

    public boolean isOverFlag() {
        return overFlag;
    }

    public void setOverFlag(boolean overFlag) {
        this.overFlag = overFlag;
    }

    public Map<Integer, Long> getRedDotMap() {
        return redDotMap;
    }

    public void setRedDotMap(Map<Integer, Long> redDotMap) {
        this.redDotMap = redDotMap;
    }


    public Map<Integer, Integer> getAddItemMap() {
        return addItemMap;
    }

    public void setAddItemMap(Map<Integer, Integer> addItemMap) {
        this.addItemMap = addItemMap;
    }

    public int getBanditNo() {
        return banditNo;
    }

    public void setBanditNo(int banditNo) {
        this.banditNo = banditNo;
    }

    public Map<Integer, Long> getTokeScoreMap() {
        return tokeScoreMap;
    }

    public void setTokeScoreMap(Map<Integer, Long> tokeScoreMap) {
        this.tokeScoreMap = tokeScoreMap;
    }

    public int getLuoYangAttTimes() {
        return luoYangAttTimes;
    }

    public void setLuoYangAttTimes(int luoYangAttTimes) {
        this.luoYangAttTimes = luoYangAttTimes;
    }

    public long getResertTime() {
        return resertTime;
    }

    public void setResertTime(long resertTime) {
        this.resertTime = resertTime;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public long getCurioAddition() {
        return curioAddition;
    }

    public void setCurioAddition(long curioAddition) {
        this.curioAddition = curioAddition;
    }
}
